package com.pet_service.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pet_service.entity.StaffSchedule;
import com.pet_service.vo.PageBean;
import com.pet_service.vo.StaffScheduleVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
* @author 邹全伸
* @description 针对表【staff_schedule(服务人员排班表)】的数据库操作Mapper
* @createDate 2025-09-26 14:19:19
* @Entity com.pet_service.entity.StaffSchedule
*/
public interface StaffScheduleMapper extends BaseMapper<StaffSchedule> {
    // 分页查询服务人员排班
    List<StaffScheduleVO> selectStaffSchedules(@Param("pageBean") PageBean pageBean);
    // 查询服务人员排班总数
    Long selectStaffSchedulesCount(@Param("pageBean") PageBean pageBean);
    // 根据ID查询服务人员排班
    StaffScheduleVO selectStaffScheduleById(Integer id);
    // 判断是否存在相同排班
    long existsByUserIdAndDateAndTimeSlot(@Param("userId") Integer userId,
                                          @Param("date") Date date,
                                          @Param("timeSlot") String timeSlot);
    // 判断是否存在ID
    boolean existsById(Integer id);
    // 删除服务人员排班(物理删除)
    int deleteStaffSchedulePhysically(Integer id);
}




